home *** CD-ROM | disk | FTP | other *** search
- /* Sample unattended download script */
-
- /********************************************************/
- /* I wrote this sample script to demonstrate LiveWire's */
- /* scripting abilities. This script was written for my */
- /* internet service provider. */
- /* */
- /* The script does the following: */
- /* 1. Waits for a specific time */
- /* 2. Calls my service provider and logs in */
- /* 3. Starts a UNIX shell session */
- /* 4. Downloads a set of files */
- /* 5. Tests the success of the download */
- /* 6. Will retry the download up to three times */
- /* 7. Completes on successful download */
- /* */
- /* If you intend to use all or part of this script, */
- /* you will have to modify it to login to your specific */
- /* internet service provider. Enjoy! */
- /* */
- /* */
- /* Provided free for the users of LiveWire for OS/2 */
- /********************************************************/
-
- /* Turn REXX debug debugging off */
- Trace(Off);
-
- /* Set timeout */
- SetLW(TimeOut,60);
-
- /* Set inter-character pacing to 40ms */
- SetLW(Pacing,40);
-
- /* GLOBAL VARIABLES */
- NumberToDial = "555-9109"
- LogonName = "xxx" /* PUT YOUR USER NAME HERE */
- Password = "xxxxxxx" /* PUT YOUR PASSWORD HERE */
- Retries = 3
- FilesToDownload = "*.ZIP *.zip"
- DownloadHour = 14
- DownloadMinute = 23
-
- /* Start Logon Session */
- /* Wait for the appointed time */
- ClrScrLW();
- DispLW("Waiting for unattended download at " || DownloadHour || ":" || DownloadMinute || "^M^J");
- WaitTimeLW(DownloadHour, DownloadMinute);
-
- Completed = 0
- Do While ((Retries > 0) & (Completed = 0))
-
- /* Dial to the UNIX host */
- SendLW("ATDT " || NumberToDial || "^M");
- Result = FindLW("CONNECT", "BUSY", "NO CARRIER");
-
- /* Check if we connected */
- if (Result = "CONNECT") then do
-
- /* Attempt the transfer */
- Retries = Retries - 1
-
- /* Login to the UNIX host */
- ret=FindLW("login: ");
- DelayLW(100);
- SendLW(LogonName || "^M");
-
- /* Send password */
- ret=FindLW("^M^JPassword: ");
- DelayLW(100);
- SendLW(Password || "^M");
-
- /* Here we wait to be asked whether we should go to a shell */
- /* account or go into PPP mode, I request shell account */
- ret=FindLW("Choice [1]: ");
- DelayLW(100);
- SendLW("1^M");
-
- /* At the account menu, I ask to go directly to the shell */
- ret=FindLW("Main Menu]: ^[[0;0;0m[ ]^H^H");
- DelayLW(100);
- SendLW("s");
-
- /* Wait for the shell prompt */
- ret=FindLW("$");
- DelayLW(100);
-
- /* Tell the remote host to begin sending all .ZIP files! */
- /* Note that we request both upper and lowercase because */
- /* UNIX is case sensitive */
- SendLW("sz " || FilesToDownload || "^M");
-
- /* Tell LiveWire to begin downloading Zmodem to the */
- /* default download path */
- ReceiveResult = ReceiveFilesLW("Z", "");
-
- /* Successful transfer? */
- if (ReceiveResult = "SUCCESS") then do
- Completed = 1;
- End
- End
-
- /* Hangup the phone */
- ret = HangupLW();
-
- End
-
- if (Completed = 0) then
- say "UNSUCCESSFUL DOWNLOAD, please see the log file."
- else
- say "Successful download completed."
-
- Exit